/*

 * Copyright (C) 2021 Huawei Device Co., Ltd.

 * Licensed under the Apache License, Version 2.0 (the "License");

 * you may not use this file except in compliance with the License.

 * You may obtain a copy of the License at

 *

 *     http://www.apache.org/licenses/LICENSE-2.0

 *

 * Unless required by applicable law or agreed to in writing, software

 * distributed under the License is distributed on an "AS IS" BASIS,

 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

 * See the License for the specific language governing permissions and

 * limitations under the License.

 */
package com.cardinalsolutions.circleprogressindicator;

import ohos.agp.components.AttrSet;
import ohos.agp.components.element.Element;
import ohos.agp.utils.Color;

/**
 * AttrUtil
 *
 * @since : 2021.5.24
 */
public class AttrUtil {
    /**
     * 属性
     */
    AttrSet attrSet;

    /**
     * 构造器
     *
     * @param var1 属性
     */
    public AttrUtil(AttrSet var1) {
        this.attrSet = var1;
    }

    /**
     * 获取自定义String值
     *
     * @param var1 名字
     * @param var2 默认值
     * @return String的属性
     */
    public String getStringValue(String var1, String var2) {
        return this.attrSet.getAttr(var1).isPresent() ? (this.attrSet.getAttr(var1).get()).getStringValue() : var2;
    }

    /**
     * 获取自定义Integer值
     *
     * @param var1 名字
     * @param var2 默认值
     * @return int的属性
     */
    public int getIntegerValue(String var1, int var2) {
        return this.attrSet.getAttr(var1).isPresent() ? (this.attrSet.getAttr(var1).get()).getIntegerValue() : var2;
    }

    /**
     * 获取自定义Boolean值
     *
     * @param var1 名字
     * @param var2 默认值
     * @return Boolean的属性
     */
    public boolean getBooleanValue(String var1, boolean var2) {
        return this.attrSet.getAttr(var1).isPresent() ? (this.attrSet.getAttr(var1).get()).getBoolValue() : var2;
    }

    /**
     * 获取自定义Float值
     *
     * @param var1 名字
     * @param var2 默认值
     * @return Float的属性
     */
    public float getFloatValue(String var1, float var2) {
        return this.attrSet.getAttr(var1).isPresent() ? (this.attrSet.getAttr(var1).get()).getFloatValue() : var2;
    }

    /**
     * 获取自定义Long值
     *
     * @param var1 名字
     * @param var2 默认值
     * @return Long的属性
     */
    public long getLongValue(String var1, long var2) {
        return this.attrSet.getAttr(var1).isPresent() ? (this.attrSet.getAttr(var1).get()).getLongValue() : var2;
    }

    /**
     * 获取自定义Element值
     *
     * @param var1 名字
     * @param var2 默认值
     * @return Element的属性
     */
    public Element getElement(String var1, Element var2) {
        return this.attrSet.getAttr(var1).isPresent() ? (this.attrSet.getAttr(var1).get()).getElement() : var2;
    }

    /**
     * 获取自定义Dimension值
     *
     * @param var1 名字
     * @param var2 默认值
     * @return Dimension的属性
     */
    public int getDimensionValue(String var1, int var2) {
        return this.attrSet.getAttr(var1).isPresent() ? (this.attrSet.getAttr(var1).get()).getDimensionValue() : var2;
    }

    /**
     * 获取自定义Color值
     *
     * @param var1 名字
     * @param var2 默认值
     * @return Color的属性
     */
    public Color getColorValue(String var1, Color var2) {
        return this.attrSet.getAttr(var1).isPresent() ? (this.attrSet.getAttr(var1).get()).getColorValue() : var2;
    }

    /**
     * 获取自定义Color
     *
     * @param var1 名字
     * @param var2 默认值
     * @return Color
     */
    public int getColorValue(String var1, int var2) {
        return this.attrSet.getAttr(var1).isPresent() ?
                (this.attrSet.getAttr(var1).get()).getColorValue().getValue() : var2;
    }
}
